package com.sss.hloster02;

import java.util.*;
import java.util.Scanner;

public class TestZuChe {

	public static void main(String[] args) {
		test02();
	}

	private static void test01() {
		Truck truck = new Truck("大理石二代", "十吨");// 初始化卡车对象truck
		truck.show();// 输出车辆信息
		truck.driver();// 让truck行驶1次，油量剩下15升，车损度为10
		truck.show();// 输出车辆信息
		truck.driver();// 再行驶一次，油量剩下10升，车损度为20
		truck.driver();// 再行驶一次，油量剩下5升，车损度为30
		truck.driver();// 再行驶一次，油量已不足10升，不能行驶，提示需要加油
		truck.addOil();// 让truck加油一次，油量增加20升，达到25升
		truck.show();// 输出车辆信息
	}

	private static void test02() {
		// 创建HashSet集合，用于存放车辆
		 Set vehSet=new HashSet();
		 //创建两个轿车对象，两个卡车对象，并加入HashSet集合中
		 Vehicle c1=new Car("战神","长城");
		 Vehicle c2=new Car("跑得快","红旗");
		 Vehicle t1=new Truck("大理石","5吨");
		 Vehicle t2=new Truck("大理石二代","10吨");
         vehSet.add(c1);
         vehSet.add(c2);
         vehSet.add(t1);
         vehSet.add(t2);
      //使用迭代器循环输出
         Iterator it=vehSet.iterator();
         while(it.hasNext()) {
        	 System.out.println("***显示集合中元素信息***");
        	 Object obj=it.next();
        	 if(obj instanceof Car) {
        		 Car car=(Car)obj;
        		 //调用Car类的特有方法 getBrand()
        		 System.out.println("该车是轿车，其品牌为："+car.getBrand());
        	 }else {
        		 Truck truck=(Truck)obj;
        		 //调用Truck类的特有犯法getLoad()
        		 System.out.println("该车是卡车，其吨位为："+truck.getLoad());
        	 }
        	 //调用Vehicle 类方法show()

        	 ((Vehicle)obj).show();
         }
        		 
	}
}
